package com.lxl.dao;

import java.util.List;

import com.lxl.model.Post;
import com.lxl.model.Tieba;
import com.lxl.model.User;

/**
 * 贴吧_贴吧DAO
 * 
 * @author 刘星鹭
 * @Email liuxinglumail@163.com
 * @version 创建时间： 2014年9月9日 下午3:55:23
 */
public interface TiebaDAO {
    /**
     * 添加贴吧
     * 
     * @param tieba
     *            贴吧
     */
    public void add(Tieba tieba);

    /**
     * 删除贴吧
     * 
     * @param tieba
     *            贴吧
     */
    public void delete(Tieba tieba);

    /**
     * 恢复删除贴吧
     * 
     * @param tieba
     *            贴吧
     */
    public void unDelete(Tieba tieba);

    /**
     * 更新贴吧
     * 
     * @param oldTieba
     *            旧帖吧
     * @param newTieba
     *            新贴吧
     */
    public void update(Tieba tieba);

    /**
     * 通过贴吧名查找贴吧
     * 
     * @param tiebaName
     *            贴吧名
     * @return 贴吧
     */
    public Tieba find(String tiebaName);

    /**
     * 列出所有贴吧
     * 
     * @return 所有贴吧
     */
    public List<Tieba> list();

    /**
     * 列出当前页面10个贴吧
     * 
     * @param start
     *            页面号
     * @return 当前页面10个贴吧
     */
    public List<Tieba> listTen(int start);

    /**
     * 计算总页数
     * 
     * @return 总页数
     */
    public int pageCount();

    /**
     * 通过贴吧名列出某贴吧所有用户
     * 
     * @param tiebaName
     *            贴吧名
     * @return 该贴吧所有用户
     */
    public List<User> listUsers(String tiebaName);

    /**
     * 通过贴吧名列出某贴吧所有帖子
     * 
     * @param tiebaName
     * @return 该贴吧所有帖子
     */
    public List<Post> listPosts(String tiebaName);
}
